﻿// -------------------------------------------------------------------------
//    @FileName         :    NFItemCreator.h
//    @Author           :    gaoyi
//    @Date             :    2024/12/17
//    @Email            :    445267987@qq.com
//    @Module           :    NFItemCreator
//
// -------------------------------------------------------------------------

#pragma once

#include "NFComm/NFCore/NFPlatform.h"
#include "NFItemDefine.h"

class NFItemCreator
{
public:
    static int CreatePartnerEquip(int iDescID, GridItemBase& base, PartnerEquipExt& equipData, int iDefaultQuality);
    static int CreateEquip(int iDescID, GridItemBase& base, EquipExt& equipData, int iDefaultQuality);
    static int CalcEquipCE(uint32_t iID, int iQuality, EquipExt& rEquip);
    static int CalcPartnerEquipCE(uint32_t iID, int iQuality, PartnerEquipExt& rEquip);
    static int CreateBuffEquip(int iDescID, GridItemBase& base, int iDefaultQuality);

    static int CreateTreasureMap(int iDescID, GridItemBase& Base, TreasureMapExt& TreasureMapData);
    static int CreateFashion(int iDescID, GridItemBase& rBase, FashionExt& rFashionData);
public:
    static int CreateItem(int iID, int iQuality, NFGridItem& item);
};
